import originAxios from 'axios'

export const request = options => {
  const instance = originAxios.create({
    baseURL: 'http://api.7-orange.cn:7300/mock/5def6a2d448e330a1116366e/api',
    timeout: 5000,
    // 发送请求时，允许修改请求数据
    transformRequset: [function (data) {
      // 对data进行任意数据转换
      return JSON.stringify(data) //
    }],
    // 在then / catch接收前永续修改响应数据
    transformResponse: [function (data) {
      // 对data进行任意修改
      return JSON.parse(data) // 或者用qs.stringify(data)格式化成xxx=xxx&xxx=xxx格式
    }]
  })
  // xxx=xxx&xxx=xxx，取决于服务器要求的格式
  instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset = UTF-8'
  // 添加请求和响应拦截器
  instance.interceptors.request.use(config => {
    // 添加token
    // let token = store.getter.token
    // config.headers['token'] = sessionStorage.getItem('token') || '' 或者在store里拿
    // 加时间戳
    if (config.method.toUpperCase() === 'GET') {
      config.params = {
        _t: Date.parse(new Date()) / 1000,
        ...config.params
      }
    }
    if (config.method.toUpperCase() === 'POST') {
      config.data = {
        _t: Date.parse(new Date()) / 1000,
        ...config.data
      }
    }
    return config
  }, err => {
    return Promise.reject(err)
  })
  instance.interceptors.response.use(response => {
    return response.data
  },
  error => {
    return Promise.reject(error)
  })
  return instance(options)
}
